Elaboration with first-class implicit function types

نویسندگان

چکیده

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

First-Class Phantom Types

Classical phantom types are datatypes in which type constraints are expressed using type variables that do not appear in the datatype cases themselves. They can be used to embed typed languages into Haskell or ML. However, while such encodings guarantee that only wellformed data can be constructed, they do not permit type-safe deconstruction without additional tagging and run-time checks. We in...

متن کامل

Foundations of Implicit Function Types

Implicit parameters are used pervasively in Scala and are also present in a number of other programming and theorem proving languages. Œis paper describes a generalization of implicit parameters as they are currently found in Scala to implicit function types. We motivate the construct by a series of examples and provide formal foundations that closely follow the semantics implemented by the Sca...

متن کامل

First-class polymorphism with existential types

Abstract datatypes can be typed conveniently using existential types. Even though it is a powerful abstraction mechanism, current type inference systems based on Hindley-Milner do not allow existential types as first-class citizens – every existential type must be explicitly declared, packed, and unpacked using a data constructor. We present an extension of theMLF type system with first-class e...

متن کامل

A First-Order Logic with First-Class Types

This paper presents a strongly complete calculus for a firstorder statically-typed predicate logic with first-class types, type predicates and casts, provided that the type hierarchy is Noetherian. We show that this restriction cannot be relaxed.

متن کامل

Semantics and Types for Objects with First-Class Member Names

Objects in many programming languages are indexed by first-class strings, not just first-order names. We define λ S (“lambda sob”), an object calculus for such languages, and prove its untyped soundness using Coq. We then develop a type system for λ S that is built around string pattern types, which describe (possibly infinite) collections of members. We define subtyping over such types, extend...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on Programming Languages

سال: 2020

ISSN: 2475-1421

DOI: 10.1145/3408983